The Home Phoneline Networking Alliance (HomePNA) is an incorporated, non-profit association of companies working to bring networking technology to the home. See www.homepna.org. HomePNA envisions bringing Ethernet technology to the home by utilizing existing home phone wiring for the network physical medium. HomePNA provides specifications for the physical layer (PHY), its interface to an Ethernet MAC (Media Access Control), and its interface to the home phone wiring. See the IEEE (Institute of Electrical and Electronic Engineers) 802.3 standard for Ethernet.
The position of a HomePNA PHY in relationship to the OSI (Open Systems Interconnection) model is illustrated in FIG. 1. Logical Link Control (LLC) 102 and MAC 104 are implemented in accordance with IEEE 802.3, and HomePNA PHY 106 communicates with MAC 104 via interface 108. Additional sublayers, and other optional layers, may be added to the layers shown in FIG. 1 so that PHY 106 may provide services to other communication protocols, such as Gigabit Ethernet. In practice, PHY 106 and MAC 104 may be integrated on a single die, so that interface 108 is not readily visible.
PHY 106 receives a MAC frame from MAC 104, strips off the 8 octets of preamble and delimiter from the MAC frame, adds a HomePNA PHY header to form a HomePNA PHY frame, and transmits a PHY frame on physical medium 109. FIG. 2 illustrates HomePNA PHY framing. A PHY frame comprises Ethernet Packet 202, and appended to Ethernet Packet 202 is a HomePNA PHY header, comprising SYNC interval 204, Access ID (Identification) 206, Silence interval 208, and PCOM field 210.
A PHY frame is transmitted on physical medium 109 utilizing pulse position modulation (PPM). All PHY symbols transmitted on physical medium 109 comprise a pulse formed of an integer number of cycles of a square wave that has been filtered with a bandpass filter. The position of the pulse conveys the transmitted symbol. Differential signaling is employed, in which a pulse and its negative are transmitted on two wires for each transmitted symbol. However, for simplicity of discussion, we consider only one component of the differential signal when describing the signal waveform.
As indicated in FIG. 2, transmission begins with SYNC symbol 0, and Access ID field 206 is coded into seven AID (Access ID) symbols. SYNC symbol 0 may also be denoted as AID symbol 0. Access ID symbols 1 through 4 are used to identify individual stations to enable reliable collision detection. Access ID symbols 5 and 6 are used to transmit remote control management commands. AID symbol 7 is a silence interval.
SYNC symbol 0 and each AID symbol are 129 tics long, where 1 tic is defined as ( 7/60)10−6 seconds, which is approximately 116.667 nanoseconds. AID symbols 1 through 7 begin with a blanking interval of 60 tics, followed by a pulse positioned within one of four time slots to convey two bits of information. The time slots are separated by 20 tics, and are at positions 66, 86, 106, and 126 tics from the beginning of an AID symbol interval. SYNC symbol 0 is composed of a SYNC_START pulse beginning at tic=0 and a SYNC_END pulse beginning at tic=126.
In the example of FIG. 2, AID symbols 1 through 4 represent the Access ID word 00101101, where AID symbol 1 represents AID0=1 and AID1=0, AID symbol 2 represents AID2=1 and AID3=1, AID symbol 3 represents AID4=0 and AID5=1, and AID symbol 4 represents AID6=0 and AID7=0. AID symbols 5 and 6 represent the control word 0001, where AID symbol 5 represents Ctrl0=1 and Ctrl1=0, and AID symbol 7 represents Ctrl2=0 and Ctrl3=0.
A collision is detected only during AID symbols 0 through 7. If a transmitting station reads back an AID value that does not match its own, then a collision is indicated, and a JAM signal is transmitted to alert other stations. Non-transmitting stations may also detect non-conforming AID pulses as collisions. Only a transmitting station emits a JAM signal.
Examples of transmitted and received pulses for three AID symbols are indicated in FIGS. 3 and 4, respectively. In FIG. 4, SYNC_START and SYNC_END pulses indicate AID symbol 0. AID symbol 1 comprises a pulse in position 1 (tic=86), and AID symbol 2 comprises a pulse at position 2 (tic=106). A receiving PHY performs full-wave rectification of a received signal, and compares the envelope of the rectified signal with an AID slice threshold. The PHY detects a received pulse if its envelope exceeds the AID slice threshold. As soon as a pulse is detected by a PHY, the PHY disables further indications of detection until a time AID_END_BLANK (located attic=61) from the beginning of the pulse, after which detection indication must be re-enabled for the next received pulse.
As indicated in FIG. 2, the data symbols in a PHY frame comprise two receiver training symbols, PCOM symbols, and symbols coding Ethernet packet 202. (PCOM symbols are reserved for future use to be used by a local management entity, and are ignored by the PHY.) Referring now to FIG. 5, a data symbol interval begins with the beginning of a pulse, which defines tic=0 for the symbol interval. Symbol timing (in tics) is measured from tic=0. Except for the first data symbol interval, the beginning of a data symbol time interval is marked by the position of the pulse for the previous data symbol. The position of a pulse relative to the beginning of its time interval conveys the symbol information. Each position is separated by one tic. When a pulse begins transmission, the previous symbol interval ends and a new one immediately begins. Time intervals for data symbols are therefore variable, depending upon the transmitted data.
For example, as shown in FIG. 5, the beginning of the first data symbol interval is indicated by START_TX_PULSE at tic=0, and the information conveyed by Data Symbol 1 is indicated by the position of Pulse 1 in FIG. 5. Pulse 1 then defines the beginning of the time interval for the next data symbol, Data Symbol 2.
Data receive timing is indicated in FIG. 6. In the example of FIG. 6, data symbol intervals for Data Symbol 1 and Data Symbol 2 are illustrated. The received waveform is formed from the transmitted pulse, along with any distortions and reflections that occur in the wiring network. The PHY detects the point at which the envelope crosses a threshold, denoted by Data_Slice_Threshold. Immediately after threshold detection, the PHY disables indication of detection for a time period END_DATA_BLANK, which is equal, in tics, to pulse position number 0 minus 3. Detection indication is enabled after END_DATA_BLANK.
Thus, as indicated in FIGS. 4 and 6, a HomePNA PHY requires proper envelope detection of received waveforms. Envelope detection usually involves full-wave rectification followed by integration, where the integration is often performed by charging a capacitor. However, noise spikes on the home telephone network may lead to detection error. A detection error may result in inaccurately estimating pulse position (timing jitter), leading to incorrect symbol decoding. A detection error may also result in a detection being declared when no pulse was actually transmitted by another station, i.e., a false alarm. A detection error may also result in the failure to declare a detection when a pulse was in fact transmitted.
Using large capacitors for signal integration may reduce detection error. Furthermore, in many prior art envelope detectors, the integrating capacitor is always being discharged by a discharge resistor. However, this type of discharging may cause output ripple, which may lead to timing jitter or an increase in the false alarm rate. Using a large capacitor, or providing for a longer discharge time, may reduce ripple.
However, using large capacitors, and using long discharge times, lead to various problems. In custom VLSI (Very Large Scale Integration) technology, large capacitors are expensive in terms of die area. Furthermore, the integrating capacitor should be discharged before the next arriving pulse, otherwise a slow discharging time may lead to detection error. Embodiments of the present invention address these problems, and are well suited to network communication utilizing home phone wiring as envisioned by the Home Phoneline Networking Alliance.